Image tiepoints

ABSTRACT

An image processing technique uses requirements for a geospatial distribution of image tie points for a triangulation of images. The images are correlated, thereby generating candidate tie points across the images. Statistical consistency checks are applied to the images to identify and dispose of the candidate tie points that are local outliers, and a geometric identification technique is applied to the images to identify and dispose of the candidate tie points that are global outliers. The candidate tie points that are not local outliers or global outliers are spatially down-selected such that the spatially down-selected candidate tie points satisfy the one or more requirements for the geospatial distribution.

TECHNICAL FIELD

Embodiments described herein generally relate to image tie points, andmore particularly, in an embodiment, to the automatic selection of imagetie points in connection with requirements for image triangulation.

BACKGROUND

Tie points are used to correlate images in geospatial applications. Theselection and use of these tie points normally must meet certainrequirements. These requirements can be based on the requirements of agovernment agency or a private business entity. For example, theNational Geospatial Intelligence Agency (NGA) has a TriangulationSpecification that defines requirements for the geospatial distributionof image tie points to be used for triangulation of multiple images. Therequirements for tie point distribution can be complex depending uponhow image footprints overlap.

In the process of identifying and using image tie points, one or moreprior processes first identify specific locations in images to correlatebased on the requirements of the specification on hand. These priorprocesses use correlation, but each point is independent, and there areno rigorous quality checks or outlier rejections. It is up to the userto visually verify that each tie point has been accurately correlated,and to manually reject outliers. This can require several iterations ofrejecting bad tie points, planning new areas to attempt to correlate,re-running the correlators, visually inspecting the tie points, andother human-based efforts. In short, these prior techniques firstidentify a sparse set of specific ground points that meet therequirements of the specification on hand, and then try to correlate theground points across images. This is prone to failure and requires userverification of each tie point, and often requires many iterations.

BRIEF DESCRIPTION OF THE DRAWINGS

In the drawings, which are not necessarily drawn to scale, like numeralsmay describe similar components in different views. Like numerals havingdifferent letter suffixes may represent different instances of similarcomponents. Some embodiments are illustrated by way of example, and notlimitation, in the figures of the accompanying drawings.

FIG. 1 is a diagram illustrating a four-way overlap region between twoimage pairs.

FIG. 2 is a diagram illustrating the positioning of edge regions in astereo pair of images.

FIG. 3 is a diagram illustrating a nominal overlap case of two pairs ofstereo images.

FIG. 4 is a diagram illustrating an excessive overlap case of two pairsof stereo images.

FIG. 5 is a diagram illustrating an embedded overlap case of two pairsof stereo images.

FIGS. 6A, 6B, and 6C are a block diagram illustrating operations andfeatures of a process for the automatic selection of tie points forimage triangulation.

FIG. 7 is a block diagram of a computer system upon which one or moreembodiments of the present disclosure can execute.

DETAILED DESCRIPTION

Images, and in particular satellite images, have some inherent error inthem regarding where the image actually exists or to where the image isactually pointing. By selecting candidate tie points between images,these candidate tie points can be used to create a triangulation inorder to determine where those images actually are by averaging outuncertainties. In short, the candidate tie points are used fortriangulation and for improved accuracy. This improved accuracy relatesto both a relative geo-location perspective so that images alignrelative to one another and an absolute accuracy improvement also.

These candidate tie points are observation coordinates or imagecoordinates that represent the same location on the ground. However,when these candidate tie points are input into a process and adjusted,the adjustments should be accurate. To obtain this accuracy, thecandidate tie points themselves should be accurate and alsowell-distributed.

In prior image processing techniques, as alluded to above, a problem isthat these prior techniques require manually selecting a large number ofcandidate tie points between images, which further requires a lot ofhuman effort to verify the candidate tie points. In these priortechniques, even if the candidate tie points are automaticallygenerated, a human still needs to spend a good deal of time reviewingthe candidate tie points to make sure that the candidate tie points arespatially well-distributed so that the candidate tie points conform tothe specification at hand and that the candidate tie points areaccurate.

Prior processes begin by identifying a sparse set of specific locationsthat satisfy the tie point distribution requirement. The prior processescalculate all the footprints and overlaps, and these prior processesplace down some candidate tie points at particular locations. If theselocated tie points satisfy the specification or requirement, the priorprocesses then try to correlate the tie points. However, it is up to theuser to circle back and verify that the correlations are good. If theuser determines that the correlations are not good, the tie points arerejected, and the process is repeated by placing the tie points indifferent locations.

In contrast to prior processes, an embodiment of the present disclosurefirst generates a large number of candidate tie points for use incorrelating images, statistically checks these candidate tie points forquality, and then down-selects a sparse set of these candidate tiepoints that meets the specification that is at hand. The termsdown-select, spatial down-selection, and variants thereof simply meanthe selection of a subset of candidate tie points from a larger set oftie points. The exact process for this down-selection is described laterin this disclosure.

More specifically, in an embodiment of the present disclosure, many moretie points are automatically selected up front, and then statisticaltools are used to filter out local region outliers and global regionoutliers. This generates a larger pool of candidate tie points to choosefrom, and automatic processing verifies or at least increases theconfidence that they are good candidate tie points without any userinvolvement. After there is a good pool of candidate tie points, regionscan be identified from which to select (e.g., nominal, excessive, and/orembedded regions), and the distribution is obtained from this selection.As noted above, the prior processes have a lot of user interactionbecause the prior processes only deal with an initial sparse grid ofcandidate tie points that these processes believe are in the rightlocations, but these processes cannot be certain that they can actuallycorrelate the candidate tie points until these processes try to do so.In an embodiment of the present disclosure however, a number ofcorrelations are executed, and this generates good correlations amongthe candidate tie points, and then geometric rules are applied todown-select these good candidate tie points into a set that meets thespecification at hand.

An embodiment begins by using a robust image correlation to find a largenumber of candidate tie points. One such correlation is a Passive 3DPoint Cloud code base. The passive 3D point cloud code base is aworkflow that takes multiple images of the same area and it finds tiepoints between the multiple images. The passive 3D point cloud then runsthose tie points through a sensor geometry (e.g., a bundle adjustment),and it extracts 3D point files from those images. However, for thepresent disclosure, an embodiment is not extracting the condensed 3Dpoint files, the embodiment is simply using the tie point selection partof that workflow which is a fairly robust tie point calculator. Thepassive 3D point cloud base is further discussed in U.S. applicationSer. No. 16/279,212, which is incorporated herein by reference. Thelarge number of candidate tie points are then down-selected bycalculating the footprint regions and overlap regions of the imagery,and in particular, two pairs of stereo images. The specificationrequirements that are being used are then applied to the down-selectedcandidate tie points to select the tie points in the required regions(nominal, excessive, and embedded) with the required spacing between thecandidate tie points, the required distance of the candidate tie pointsto the edges of the images, and the required minimum number of candidatetie points. An example specification is that of the NationalGeospatial-Intelligence Agency. However, embodiments of the presentdisclosure can work with any specifications or requirements.

Consequently, one or more embodiments handle automatic determination ofregions in which tie points are required by the specification on hand,automatic selection of well-distributed tie points as defined by thespecification, automatic identification and handling of excessiveoverlap cases and embedded overlap cases, and automatic handling ofre-task cases. A re-task case relates to a situation in which aninsufficient number of candidate tie points were identified, and theprocess of identifying and down-selecting the candidate tie points isexecuted again. A re-task case can also relate to a situation wherethere are clouds or haze over an area, and the ground is not visible.The image capture therefore has to be executed or captured at adifferent time, that its, re-tasked, to get a cloud-free image.

As noted above, an embodiment uses image correlation techniques(previously used in other 3D product generation schemes) toautomatically generate many candidate tie points across the entireimage. Statistical consistency checks are then used on local regions tothrow out local outliers, and a geometric identification technique suchas triangulation and bundle adjustment is used with outlier rejection tothrow out global outliers. After the rejection of the local and globaloutliers, a large, filtered set of good candidate tie points remains,and this large, filtered set of good candidate tie points is spatiallydown-selected to meet the distribution (between and among tie points)specification.

In contrast, as noted above, at least one prior art technique firstidentifies a sparse set of specific ground points to meet a distributionspecification, and then tries to correlate the specific ground pointsacross the pertinent images at hand. This prior technique is prone tofailure and requires user verification of each candidate tie point.Consequently, the workflow of this prior technique often has to beiterated many times. As noted, embodiments of the current disclosurefirst generate a large number of candidate tie points, thenstatistically checks the candidate tie points for quality, and thendown-selects the candidate tie points to generate a sparse set of tiepoints that meets the distribution specification.

A triangulation of satellite images in general accommodates adjustmentsof multiple stereo pairs where the stereo pairs themselves overlap onthe ground. For example, if there are four different images thatrepresent the same location on the ground, there is a four-way overlap.An example of this four-way overlap is illustrated in FIG. 1, whichillustrates a first stereo pair of images 110, a second pair of stereoimages 120, and a four-way overlap region 130. In such a case, in orderto simultaneously adjust these images for them to be robust andaccurate, there has to be a specific distribution of tie point locationswithin this overlap region. For any stereo pair of images, the groundlocation can be calculated, but then there is an additional step oftying two other stereo pairs to get greater geographical coverage. Thistying involves overlap between these stereo pairs. So instead of lookingfor two-way observations, four-way observations in those regions ofstereo pair overlap can be considered, and based on how much overlapthere is (based on rules in the pertinent specification), a requireddistribution of tie points can be determined. An embodiment identifiesand handles these different overlap cases to automatically pick thecandidate tie points in a well-distributed manner in these four-wayoverlap regions.

In addition to this overlap requirement, to insure that triangulationsare accurate for the full extent of the image, for any individual stereopair, the candidate tie points should also be within a certain distanceof the edges. FIG. 2 illustrates two such edge regions 104 and 106.Otherwise, if the candidate tie points were in the middle of themultiple stereo pairs, a solution could be computed, but that solutionmay have extrapolation errors towards the edges. To avoid these errors,an embodiment bounds as much of the area of the stereo pairs as it can.As a result, there are two criteria that should be satisfied. First,there should be a four-way overlap between the multiple pairs of stereoimages as explained above in connection with FIG. 1, and second, thecandidate tie points should be within a certain distance of the edges ofeach individual stereo pair as illustrated in FIG. 2.

The candidate tie points should fall above the upper edge and below thelower edge so that there are candidate tie points in those edge regions.For example, referring to FIG. 3, the lower edge region 106 of stereopair 110 overlaps with the upper edge region 124 of stereo pair 120 tocreate the overlap region 130. Any four-way points in overlap region 130can be used to satisfy the criteria for both stereo pair 110 and stereopair 120 at this shared edge between stereo pair 110 and stereo pair120. This case, which can be referred to as the nominal case, isidentified by determining if the lower edge line 105 for stereo pair 110is above the upper edge line 125 for stereo pair 120. Since overlapbetween all four images is needed, and candidate tie points are neededin the edge regions, the nominal case is beneficial because there isoverlap solely in the edge regions. The candidate tie points should bein the overlap region.

The nominal case is discussed in further detail below along with theexcessive and embedded cases.

It should be noted that there is nothing wrong with having candidate tiepoints in the middle included in the solution. However, there should becandidate tie points at the edges so that the solution covers the entireimage. For in a triangulation, when there are candidate tie pointsaround the edges, the middle of the image is inherently included.However, if only candidate tie points in the middle of the image arebeing triangulated, it cannot be certain that the triangulation solutionwill be accurate out to the edges. Candidate tie points at the edges ofthe image provide a full footprint for triangulation.

The stereo pairs of images as illustrated in FIGS. 1-5 come from twocompletely different sensors at the same time, from the same sensor attwo completely different times, or from different sensors at differenttimes. In the most specific example, the multiple stereo pairs come fromthe same sensor seconds to minutes apart and all four images could becollected during the same orbital pass of a satellite. The four imagescould therefore be from the same sensor, just seconds apart, or theycould be days apart and from different sensors. In any event, the imagesare geospatially related in some manner.

The multiple stereo images and the overlap regions can be thought of asfootprints on the ground. That is, the place where the images cover amap on the ground. The overlap region is the region on the ground thatis visible in all four images.

In the excessive overlap case illustrated in FIG. 4, an embodimentcannot use only one set of points because the two edge regions 106, 124don't overlap like they did in the nominal case. That is, the lower edgeregion 106 of stereo pair 110 does not overlap with the upper edgeregion 124 of stereo pair 120. The excessive overlap case is identifiedby determining the relative position of the edge regions 106, 124.Specifically, the excessive overlap case is identified by determining ifthe lower edge line 105 of stereo pair 110 is below the upper edge line125 of stereo pair 120, if the lower edge line 105 of stereo pair 110 isabove lower edge line 126 of stereo pair 120, and if the upper edge line107 of stereo pair 110 is above upper edge line 125 of stereo pair 120.As can be seen in FIG. 4, an edge region is above another edge region ina way that doesn't completely overlap or doesn't overlap at all. Sowhile there is a single four-way overlap region in the nominal case, inthe excessive overlap case, there is a separate edge region 106 forstereo pair 110 and a separate edge region 124 for stereo pair 120.Notwithstanding, both the nominal case and the excessive case involve afour-way overlap. The motivation for these overlap and edge requirementsare for geometrics training.

In the embedded case illustrated in FIG. 5, there is a single four-wayoverlap, but because stereo pair 120 is entirely within stereo pair 110,the edge points for the larger stereo pair 110 cannot be acquiredbecause there is no four-way overlap up in the edges 104 and 108 of thelarger stereo pair 110. That is, there are only edge points in theregions 124 and 127 of stereo pair 120. Consequently, it is necessary toselect candidate tie points in two regions—124 and 127. The embeddedcase is detected by observing that the edge 125 of stereo pair 120 isbelow edge 107 of stereo pair 110 and lower edge 126 of stereo pair 120is above edge 105 of stereo pair 110.

Once the system determines the type of overlap (nominal, excessive, orembedded), and therefore the regions from which the candidate tie pointsshould be obtained, the original list of all the candidate tie points isfiltered by location, which generates a set of candidate tie points thatare appropriate for the overlap regions. Then, the system sub-selectsthose filtered, candidate tie points into a sparser set that meets theseparation requirement. As noted, these candidate tie points should bein the overlap regions. Additionally, the candidate tie points should bea certain distance apart from each other. The distance increases thegeometric strength of the solution since distributed candidate tiepoints provide a good, strong geometry when solving a triangulation. Inshort, once the regions are identified, the system generates a filteredset of points and then executes a final down-selection. While in theoryevery point in the entire area of the multiple stereo images could beused, that is not necessary and it would increase computation time.

FIGS. 6A, 6B, and 6C are a block diagram illustrating operations andfeatures of an example system and method for selecting image tie points.FIGS. 6A, 6B, and 6C include a number of process blocks 610-667. Thougharranged substantially serially in the example of FIGS. 6A, 6B, and 6C,other examples may reorder the blocks, omit one or more blocks, and/orexecute two or more blocks in parallel using multiple processors or asingle processor organized as two or more virtual machines orsub-processors. Moreover, still other examples can implement the blocksas one or more specific interconnected hardware or integrated circuitmodules with related control and data signals communicated between andthrough the modules. Thus, any process flow is applicable to software,firmware, hardware, and hybrid implementations.

Referring now to FIGS. 6A, 6B, and 6C, at 610, requirements for ageospatial distribution of image tie points for a triangulation ofimages are received into a computer processor. As indicated at 612, thegeospatial distribution includes a distance between the candidate tiepoints, a distance of the candidate tie points to edges of the images,and/or a minimum number of candidate tie points. As further indicated at614, the requirements for the geospatial distribution are requirementsfrom a government geospatial intelligence agency.

At 620, the images are correlated. The correlation of the imagesgenerates candidate tie points across the images. As indicated as 622,the correlation of the images uses an image correlation technique, andas indicated at 624, the image correlation technique includes use of apassive 3D point cloud code base.

At 630, statistical consistency checks are applied to the candidate tiepoints to identify and dispose of the candidate tie points that arelocal outliers. The statistical consistency checks can include one ormore of the following—a computation of candidate tie point residuals orcorrelator offsets (631), a computation of a statistical variation suchas a standard deviation of the candidate tie point residuals for a setof candidate tie points in a local area (632), a computation of a medianof the candidate tie point residuals for the set of candidate tie pointsin the local area (633), a disposal of a particular candidate tie pointwhen the candidate tie point residuals associated with the particularcandidate tie point are greater than a threshold distance from a mediancandidate tie point residual for the local area (634), a disposal of allthe candidate tie points in the local area when there is not a minimumrequired percentage of the candidate tie points that have the candidatetie point residuals within a threshold range of the median candidate tiepoint residual (635), a disposal of all the candidate tie points in thelocal area when a statistical measure such as a standard deviation ofthe candidate tie point residuals is greater than a threshold (636), atotal number of the candidate tie points found in the local area (637),and a disposal of all the candidate tie points in the local area when anumber of the candidate tie points in the local area is less thananother threshold (638).

At 640, a geometric identification technique is applied to the tiepoints to identify and dispose of the candidate tie points that areglobal outliers. As indicated at 641, the geometric identificationtechnique can include a triangulation and/or a bundle adjustment, amongothers.

At 650, the candidate tie points that are not local outliers or globaloutliers are spatially down-selected such that the spatiallydown-selected candidate tie points satisfy the one or more requirementsfor the geospatial distribution. The spatial down-selection of thecandidate tie points includes several steps. At 651, a first pair ofoverlapping images and a second pair of overlapping images is received.The first pair and the second pair overlap such that there is an areathat is common to both the first pair and the second pair. At 652, afirst edge boundary and a second edge boundary are determined for thefirst pair, and at 653 a third edge boundary and a fourth edge boundaryare determined for the second pair. At 654, the first edge boundary andthe second edge boundary for the first pair are compared with the thirdedge boundary and the fourth edge boundary for the second pair toidentify a nominal overlap region, an excessive overlap region, or anembedded overlap region. At 655, the candidate tie points that arelocated in the nominal overlap region, the excessive overlap region, orthe embedded overlap region are down-selected. And at 656, the candidatetie points in the nominal overlap region, the excessive overlap region,or the embedded overlap region are further down-selected such that thedown-selected candidate tie points meet the one or more requirements forthe geospatial distribution.

At 660, it is noted that the first edge boundary includes an upper edgeboundary for the first pair and the second edge boundary includes alower edge boundary for the first pair, and at 661, the third edgeboundary includes an upper edge boundary for the second pair and thefourth edge boundary includes a lower edge boundary for the second pair.Then, with these further definitions of the edge boundaries, the spatialdown-selection of the candidate tie points executes as follows. At 662,the upper edge boundary and the lower edge boundary for the first pairare compared with the upper edge boundary and the lower edge boundaryfor the second pair to identify a nominal overlap region, an excessiveoverlap region, or an embedded overlap region. After this comparison, at663, the candidate tie points that are located in the nominal overlapregion, the excessive overlap region, or the embedded overlap region aredown-selected. And at 664, the candidate tie points in the nominaloverlap region, the excessive overlap region, or the embedded overlapregion are further down-selected such that the down-selected candidatetie points meet the one or more requirements for the geospatialdistribution.

At 665, the nominal overlap region encompasses the situation wherein thelower edge boundary for the first pair is positioned above the upperedge boundary for the second pair. This positioning forms the nominaloverlap region containing candidate tie points located within each ofthe first pair and the second pair.

At 666, the excessive overlap region encompasses the situation whereinthe lower edge boundary for the first pair is positioned below the upperedge boundary for the second pair, the lower edge boundary for the firstpair is positioned above the lower edge boundary for the second pair,and the upper edge boundary for the first pair is positioned above theupper edge boundary for the second pair. These positionings form twooverlap regions from which the candidate tie points are down-selected.

At 667, the embedded overlap region encompasses the situation whereinthe upper edge boundary for the first pair is positioned below the upperedge boundary for the second pair and the lower edge boundary for thefirst pair is positioned above the lower edge boundary for the secondpair. These positionings form two overlap regions from which thecandidate tie points are down selected.

FIG. 7 is a block diagram of a machine in the form of a computer systemwithin which a set of instructions, for causing the machine to performany one or more of the methodologies discussed herein, may be executed.In alternative embodiments, the machine operates as a standalone deviceor may be connected (e.g., networked) to other machines. In a networkeddeployment, the machine may operate in the capacity of a server or aclient machine in a client-server network environment, or as a peermachine in peer-to-peer (or distributed) network environment. In apreferred embodiment, the machine will be a server computer, however, inalternative embodiments, the machine may be a personal computer (PC), atablet PC, a set-top box (STB), a Personal Digital Assistant (PDA), amobile telephone, a web appliance, a network router, switch or bridge,or any machine capable of executing instructions (sequential orotherwise) that specify actions to be taken by that machine. Further,while only a single machine is illustrated, the term “machine” shallalso be taken to include any collection of machines that individually orjointly execute a set (or multiple sets) of instructions to perform anyone or more of the methodologies discussed herein.

The example computer system 700 includes a processor 702 (e.g., acentral processing unit (CPU), a graphics processing unit (GPU) orboth), a main memory 701 and a static memory 706, which communicate witheach other via a bus 708. The computer system 700 may further include adisplay unit 710, an alphanumeric input device 717 (e.g., a keyboard),and a user interface (UI) navigation device 711 (e.g., a mouse). In oneembodiment, the display, input device and cursor control device are atouch screen display. The computer system 700 may additionally include astorage device 716 (e.g., drive unit), a signal generation device 718(e.g., a speaker), a network interface device 720, and one or moresensors 721, such as a global positioning system sensor, compass,accelerometer, or other sensor.

The drive unit 716 includes a machine-readable medium 722 on which isstored one or more sets of instructions and data structures (e.g.,software 723) embodying or utilized by any one or more of themethodologies or functions described herein. The software 723 may alsoreside, completely or at least partially, within the main memory 701and/or within the processor 702 during execution thereof by the computersystem 700, the main memory 701 and the processor 702 also constitutingmachine-readable media.

While the machine-readable medium 722 is illustrated in an exampleembodiment to be a single medium, the term “machine-readable medium” mayinclude a single medium or multiple media (e.g., a centralized ordistributed database, and/or associated caches and servers) that storethe one or more instructions. The term “machine-readable medium” shallalso be taken to include any tangible medium that is capable of storing,encoding or carrying instructions for execution by the machine and thatcause the machine to perform any one or more of the methodologies of thepresent invention, or that is capable of storing, encoding or carryingdata structures utilized by or associated with such instructions. Theterm “machine-readable medium” shall accordingly be taken to include,but not be limited to, solid-state memories, and optical and magneticmedia. Specific examples of machine-readable media include non-volatilememory, including by way of example semiconductor memory devices, e.g.,EPROM, EEPROM, and flash memory devices; magnetic disks such as internalhard disks and removable disks; magneto-optical disks; and CD-ROM andDVD-ROM disks.

The software 723 may further be transmitted or received over acommunications network 726 using a transmission medium via the networkinterface device 720 utilizing any one of a number of well-knowntransfer protocols (e.g., HTTP). Examples of communication networksinclude a local area network (“LAN”), a wide area network (“WAN”), theInternet, mobile telephone networks, Plain Old Telephone (POTS)networks, and wireless data networks (e.g., Wi-Fi® and WiMax® networks).The term “transmission medium” shall be taken to include any intangiblemedium that is capable of storing, encoding or carrying instructions forexecution by the machine, and includes digital or analog communicationssignals or other intangible medium to facilitate communication of suchsoftware.

The above detailed description includes references to the accompanyingdrawings, which form a part of the detailed description. The drawingsshow, by way of illustration, specific embodiments that may bepracticed. These embodiments are also referred to herein as “examples.”Such examples may include elements in addition to those shown ordescribed. However, also contemplated are examples that include theelements shown or described. Moreover, also contemplated are examplesusing any combination or permutation of those elements shown ordescribed (or one or more aspects thereof), either with respect to aparticular example (or one or more aspects thereof), or with respect toother examples (or one or more aspects thereof) shown or describedherein.

Publications, patents, and patent documents referred to in this documentare incorporated by reference herein in their entirety, as thoughindividually incorporated by reference. In the event of inconsistentusages between this document and those documents so incorporated byreference, the usage in the incorporated reference(s) are supplementaryto that of this document; for irreconcilable inconsistencies, the usagein this document controls.

In this document, the terms “a” or “an” are used, as is common in patentdocuments, to include one or more than one, independent of any otherinstances or usages of “at least one” or “one or more.” In thisdocument, the term “or” is used to refer to a nonexclusive or, such that“A or B” includes “A but not B,” “B but not A,” and “A and B,” unlessotherwise indicated. In the appended claims, the terms “including” and“in which” are used as the plain-English equivalents of the respectiveterms “comprising” and “wherein.” Also, in the following claims, theterms “including” and “comprising” are open-ended, that is, a system,device, article, or process that includes elements in addition to thoselisted after such a term in a claim are still deemed to fall within thescope of that claim. Moreover, in the following claims, the terms“first,” “second,” and “third,” etc. are used merely as labels, and arenot intended to suggest a numerical order for their objects.

The above description is intended to be illustrative, and notrestrictive. For example, the above-described examples (or one or moreaspects thereof) may be used in combination with others. Otherembodiments may be used, such as by one of ordinary skill in the artupon reviewing the above description. The Abstract is to allow thereader to quickly ascertain the nature of the technical disclosure. Itis submitted with the understanding that it will not be used tointerpret or limit the scope or meaning of the claims. Also, in theabove Detailed Description, various features may be grouped together tostreamline the disclosure. However, the claims may not set forth everyfeature disclosed herein as embodiments may feature a subset of saidfeatures. Further, embodiments may include fewer features than thosedisclosed in a particular example. Thus, the following claims are herebyincorporated into the Detailed Description, with a claim standing on itsown as a separate embodiment. The scope of the embodiments disclosedherein is to be determined with reference to the appended claims, alongwith the full scope of equivalents to which such claims are entitled.

The invention claimed is:
 1. A process comprising: receiving into acomputer processor one or more requirements for a geospatialdistribution of image tie points for a triangulation of a plurality ofimages; correlating the plurality of images, thereby generating aplurality of candidate tie points across the plurality of images;applying one or more statistical consistency checks to identify anddispose of the candidate tie points that are local outliers; applying ageometric identification technique to identify and dispose of thecandidate tie points that are global outliers; and spatiallydown-selecting the candidate tie points that are not local outliers orglobal outliers such that the spatially down-selected candidate tiepoints satisfy the one or more requirements for the geospatialdistribution.
 2. The process of claim 1, wherein the one or morestatistical consistency checks comprise one or more of a computation ofcandidate tie point residuals or correlator offsets, a computation of astatistical variation of the candidate tie point residuals for a set ofcandidate tie points in a local area, a computation of a median of thecandidate tie point residuals for the set of candidate tie points in thelocal area, a disposal of a particular candidate tie point when thecandidate tie point residuals associated with the particular candidatetie point are greater than a threshold distance from a median candidatetie point residual for the local area, a disposal of all the candidatetie points in the local area when there is not a minimum requiredpercentage of the candidate tie points that have the candidate tie pointresiduals within a threshold range of the median candidate tie pointresidual, a disposal of all the candidate tie points in the local areawhen a statistical measure of the candidate tie point residuals isgreater than a first threshold, a total number of the candidate tiepoints found in the local area, and a disposal of all the candidate tiepoints in the local area when a number of the candidate tie points inthe local area is less than a second threshold.
 3. The process of claim1, wherein the geometric identification technique comprises one or moreof a triangulation and a bundle adjustment.
 4. The process of claim 1,wherein the geospatial distribution comprises one or more of a distancebetween the candidate tie points, a distance of the candidate tie pointsto edges of the plurality of images, and a minimum number of candidatetie points.
 5. The process of claim 4, wherein the requirements for thegeospatial distribution comprise requirements from a governmentgeospatial intelligence agency.
 6. The process of claim 1, wherein thecorrelating the plurality of images comprises use of an imagecorrelation technique.
 7. The process of claim 6, wherein the imagecorrelation technique comprises a passive 3D point cloud code base. 8.The process of claim 1, wherein the spatial down-selection of thecandidate tie points comprises: receiving into the computer processor afirst pair of overlapping images and a second pair of overlappingimages, wherein the first pair and the second pair further overlap suchthat there is an area that is common to both the first pair and thesecond pair; determining a first edge boundary and a second edgeboundary for the first pair; determining a third edge boundary and afourth edge boundary for the second pair; comparing the first edgeboundary and the second edge boundary for the first pair with the thirdedge boundary and the fourth edge boundary for the second pair toidentify a nominal overlap region, an excessive overlap region, or anembedded overlap region; down-selecting the candidate tie points thatare located in the nominal overlap region, the excessive overlap region,or the embedded overlap region; and further down-selecting the candidatetie points in the nominal overlap region, the excessive overlap region,or the embedded overlap region such that the down-selected candidate tiepoints meet the one or more requirements for the geospatialdistribution.
 9. The process of claim 8, wherein the first edge boundarycomprises an upper edge boundary for the first pair and the second edgeboundary comprises a lower edge boundary for the first pair; wherein thethird edge boundary comprises an upper edge boundary for the second pairand the fourth edge boundary comprises a lower edge boundary for thesecond pair; and wherein the spatial down-selection of the candidate tiepoints comprises: comparing the upper edge boundary and the lower edgeboundary for the first pair with the upper edge boundary and the loweredge boundary for the second pair to identify a nominal overlap region,an excessive overlap region, or an embedded overlap region;down-selecting the candidate tie points that are located in the nominaloverlap region, the excessive overlap region, or the embedded overlapregion; and further down-selecting the candidate tie points in thenominal overlap region, the excessive overlap region, or the embeddedoverlap region such that the down-selected candidate tie points meet theone or more requirements for the geospatial distribution.
 10. Theprocess of claim 9, wherein the nominal overlap region comprises thelower edge boundary for the first pair positioned above the upper edgeboundary for the second pair, thereby forming the nominal overlap regioncontaining candidate tie points located within each of the first pairand the second pair.
 11. The process of claim 9, wherein the excessiveoverlap region comprises the lower edge boundary for the first pairpositioned below the upper edge boundary for the second pair, the loweredge boundary for the first pair positioned above the lower edgeboundary for the second pair, and the upper edge boundary for the firstpair positioned above the upper edge boundary for the second pair;thereby forming two overlap regions from which the candidate tie pointsare down-selected.
 12. The process of claim 9, wherein the embeddedoverlap region comprises the upper edge boundary for the first pairpositioned below the upper edge boundary for the second pair and thelower edge boundary for the first pair positioned above the lower edgeboundary for the second pair, thereby forming two overlap regions fromwhich the candidate tie points are down selected.
 13. A non-transitorycomputer readable medium comprising instructions that when executed by aprocessor execute a process comprising: receiving into a computerprocessor one or more requirements for a geospatial distribution ofimage tie points for a triangulation of a plurality of images;correlating the plurality of images, thereby generating a plurality ofcandidate tie points across the plurality of images; applying one ormore statistical consistency checks to identify and dispose of thecandidate tie points that are local outliers; applying a geometricidentification technique to identify and dispose of the candidate tiepoints that are global outliers; and spatially down-selecting thecandidate tie points that are not local outliers or global outliers suchthat the spatially down-selected candidate tie points satisfy the one ormore requirements for the geospatial distribution.
 14. Thenon-transitory computer readable medium of claim 13, wherein thegeospatial distribution comprises one or more of a distance between thecandidate tie points, a distance of the candidate tie points to edges ofthe plurality of images, and a minimum number of candidate tie points;and wherein the requirements for the geospatial distribution compriserequirements from a government geospatial intelligence agency.
 15. Thenon-transitory computer readable medium of claim 13, wherein thecorrelating the plurality of images comprises use of an imagecorrelation technique; and wherein the image correlation techniquecomprises a passive 3D point cloud code base.
 16. The non-transitorycomputer readable medium of claim 13, wherein the spatial down-selectionof the candidate tie points comprises: receiving into the computerprocessor a first pair of overlapping images and a second pair ofoverlapping images, wherein the first pair and the second pair furtheroverlap such that there is an area that is common to both the first pairand the second pair; determining a first edge boundary and a second edgeboundary for the first pair; determining a third edge boundary and afourth edge boundary for the second pair; comparing the first edgeboundary and the second edge boundary for the first pair with the thirdedge boundary and the fourth edge boundary for the second pair toidentify a nominal overlap region, an excessive overlap region, or anembedded overlap region; down-selecting the candidate tie points thatare located in the nominal overlap region, the excessive overlap region,or the embedded overlap region; and further down-selecting the candidatetie points in the nominal overlap region, the excessive overlap region,or the embedded overlap region such that the down-selected candidate tiepoints meet the one or more requirements for the geospatialdistribution.
 17. The non-transitory computer readable medium of claim16, wherein the first edge boundary comprises an upper edge boundary forthe first pair and the second edge boundary comprises a lower edgeboundary for the first pair; wherein the third edge boundary comprisesan upper edge boundary for the second pair and the fourth edge boundarycomprises a lower edge boundary for the second pair; and wherein thespatial down-selection of the candidate tie points comprises: comparingthe upper edge boundary and the lower edge boundary for the first pairwith the upper edge boundary and the lower edge boundary for the secondpair to identify a nominal overlap region, an excessive overlap region,or an embedded overlap region; down-selecting the candidate tie pointsthat are located in the nominal overlap region, the excessive overlapregion, or the embedded overlap region; and further down-selecting thecandidate tie points in the nominal overlap region, the excessiveoverlap region, or the embedded overlap region such that thedown-selected candidate tie points meet the one or more requirements forthe geospatial distribution.
 18. The non-transitory computer readablemedium of claim 17, wherein the nominal overlap region comprises thelower edge boundary for the first pair positioned above the upper edgeboundary for the second pair, thereby forming the nominal overlap regioncontaining candidate tie points located within each of the first pairand the second pair; wherein the excessive overlap region comprises thelower edge boundary for the first pair positioned below the upper edgeboundary for the second pair, the lower edge boundary for the first pairpositioned above the lower edge boundary for the second pair, and theupper edge boundary for the first pair positioned above the upper edgeboundary for the second pair; thereby forming two overlap regions fromwhich the candidate tie points are down-selected; and wherein theembedded overlap region comprises the upper edge boundary for the firstpair positioned below the upper edge boundary for the second pair andthe lower edge boundary for the first pair positioned above the loweredge boundary for the second pair, thereby forming two overlap regionsfrom which the candidate tie points are down selected.
 19. A systemcomprising: a computer processor; and a computer memory coupled to thecomputer processor; wherein the computer processor is configured toexecute a process comprising: receiving into a computer processor one ormore requirements for a geospatial distribution of image tie points fora triangulation of a plurality of images; correlating the plurality ofimages, thereby generating a plurality of candidate tie points acrossthe plurality of images; applying one or more statistical consistencychecks to identify and dispose of the candidate tie points that arelocal outliers; applying a geometric identification technique toidentify and dispose of the candidate tie points that are globaloutliers; and spatially down-selecting the candidate tie points that arenot local outliers or global outliers such that the spatiallydown-selected candidate tie points satisfy the one or more requirementsfor the geospatial distribution.
 20. The system of claim 19, wherein thespatial down-selection of the candidate tie points comprises: receivinginto the computer processor a first pair of overlapping images and asecond pair of overlapping images, wherein the first pair and the secondpair further overlap such that there is an area that is common to boththe first pair and the second pair; determining a first edge boundaryand a second edge boundary for the first pair; determining a third edgeboundary and a fourth edge boundary for the second pair; comparing thefirst edge boundary and the second edge boundary for the first pair withthe third edge boundary and the fourth edge boundary for the second pairto identify a nominal overlap region, an excessive overlap region, or anembedded overlap region; down-selecting the candidate tie points thatare located in the nominal overlap region, the excessive overlap region,or the embedded overlap region; and further down-selecting the candidatetie points in the nominal overlap region, the excessive overlap region,or the embedded overlap region such that the down-selected candidate tiepoints meet the one or more requirements for the geospatialdistribution.